package com.yy.tech.inte.service.initializer;

import com.yy.tech.inte.service.wrapper.HttpRequestWrapper;

/**
 * HttpRequest的初始化，把{@link HttpRequestWrapper}转换为Http请求。
 *
 * @author YY
 * @version 1.0.0
 * @date $ $
 * @description: TODO
 */
public interface HttpRequestInitializer {

    /**
     * 是否支持当前wrapper的转换
     * @param wrapper
     * @param <T>
     * @param <S>
     * @return
     */
    default<T,S> boolean support(HttpRequestWrapper<T,S> wrapper){
        return false;
    }

    /**
     * 转换
     * @param wrapper
     * @param <T>
     * @param <S>
     */
    <T,S> void initialize(HttpRequestWrapper<T,S> wrapper);
}
